// pages/cart/cart.js
Page({

    /**
     * 页面的初始数据
     */
    data: {
        cartsList: [],
        total: 0,
        xx:false
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {

    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () {
        //从缓存中取出购物车存到cartsList
        // this.setData修改data中的值
        let carts = this.data.cartsList;
        if (carts) {
            // console.log("ff");
            this.setData({
                // 添加商品
                cartsList: wx.getStorageSync('carts')

            })
            // if(carts==""){
            //     console.log("abc");
            //     wx.showModal({
            //         tltie: '购物车',
            //         content: "你的购物车是空的，快去购物吧",
            //         success(e) {
            //             if (e.confirm) {
            //                 // 跳转
            //                 wx.switchTab({
            //                     url: '../index/index',
            //                 })
            //             }
            //         }
            //     })
            // }
        } else {
            wx.showModal({
                tltie: '购物车',
                content: "你的购物车是空的，快去购物吧",
                success(e) {
                    if (e.confirm) {
                        // 跳转
                        wx.switchTab({
                            url: '../index/index',
                        })
                    }
                }
            })
        }
        this.countTotal()

    },
    getCount(e) {
        //将子组件传过来的值用num保存
        let index = e.currentTarget.dataset.index
        console.log(e.detail.count);
        let num = e.detail.count;
        let carts = this.data.cartsList;
        carts[index].number = num
        //拿到购物车数据

        //  // 修改购物车
        this.setData({
            cartsList: carts
        })
        // 更新缓存中的购物车数据
        this.updataCartsData()
        this.countTotal() // 总计
    },


    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function () {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function () {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function () {

    },
    // 改变选中状态
    change(e) {
        // console.log(e.currentTarget.dataset.index);
        // 拿到当前商品索引值
        let index = e.currentTarget.dataset.index;
        // 拿到购物车数组
        let carts = this.data.cartsList;
        // 修改该商品中的selected属性
        console.log(carts[index]);
        carts[index].selected = !carts[index].selected;
        // 修改购物车
        this.setData({
            cartsList: carts
        })
        // 更新缓存中的购物车数据
        this.updataCartsData()
        this.countTotal()
    },
    // 更新缓存中购物车数据
    updataCartsData() {
        // 刷新购物车数据
        let carts = this.data.cartsList;
        // 更新缓存中的购物车数据
        wx.setStorageSync('carts', carts)
    },
    // 删除商品
    remove(e) {
        let index = e.currentTarget.dataset.index
        //拿到购物车数据
        let carts = this.data.cartsList
        let that = this
        //修改该商品中的selected属性
        wx.showModal({
            title: "删除该商品",
            content: "确定要删除该商品吗！",
            success(e) {
                if (e.confirm) {
                    carts.splice(index, 1)
                    that.setData({
                        cartsList: carts,
                    })
                    //修改购物车
                    that.updataCartsData()
                }
            },
            updataCartsData() {
                console.log("efjbmfjb");
                // 刷新购物车数据
                let carts = this.data.cartsList;
                // 更新缓存中的购物车数据
                wx.setStorageSync('carts', carts)
            },
        })
    },
    //总计
    countTotal() {
        console.log("123456");
        let total = 0
        this.data.cartsList.forEach(res => {
            if (res.selected) {
                total += res.price * res.number
                console.log(total);
            }
        });
        this.setData({
            total: total
        });
        this.updataCartsData();
    },
    
    //全选
    checked() {
        let carts = this.data.cartsList;
        this.data.cartsList.selected = false;
        carts.forEach(res => {
            res.selected = !res.selected
        })
        
        this.setData({
            cartsList: this.data.cartsList
        })
        this.countTotal()
        this.updataCartsData();
    }
})